package cn.tianya.irock.data.idal;

import java.util.List;
import java.util.Map;

import cn.tianya.irock.core.DateTime;
import cn.tianya.irock.data.model.User;
import cn.tianya.irock.data.model.Thread;
import cn.tianya.irock.enums.SortOrder;
import cn.tianya.irock.enums.SortThreadsBy;
import cn.tianya.irock.enums.PostStatus;
import cn.tianya.irock.util.DataSet;

public interface IThreadDataProvider {
	
	void update(int threadId, Map<String, Object> values, List<String> fields);
	
	void remove(List<Integer> threadIds);
	void move(List<Integer> threadId, int moveToSectionId);
	
	Thread getThread(int threadId);
	
	DataSet<Thread> getTopNThreads(int forumId, int pageSize);
	
	DataSet<Thread> getThreads(int forumId, int pageIndex,
			int pageSize, User user, DateTime threadsNewerThan,
			SortThreadsBy sortBy, SortOrder sortOrder, int threadStatus);
}
